In many applications, reasoning over very large and continuously changing collections of data items (e.g., representations of real-world entities or events, any-media documents, models, etc.) requires that instances of the reasoning process are presented with small subsets of the collection at a time where the quality of the reasoning improves if the members of the subset are related to each other by some application-specific measure. A classic example of such a requirement is the search of persistent user-defined queries for relevant documents, where documents with similar content representations should be grouped together and away from dissimilar documents such that the search process can discover them together.
With the overall collection of data items being very large, it may be necessary to spread the data items across a distributed computing environment and to decentralize the process that arranges data items for the joint consumption of the reasoning processes. That decentralization of this arrangement process may be accomplished by associating each data item with an autonomous software agent (e.g., an independent thread that repeatedly applies a set of decision rules based on currently available information). The role of the agent is to assess the application-specific relation between its data item and other data items in the collection and arrange for its data item to be presented together with other ones that relate closely.
With the additional challenge of continuously changing data items as well as the possible arrival and departure of data items at any time, ensuring that data items that need to be grouped together can find each other fast enough to be useful to the reasoning processes becomes a major challenge. With the need for distribution of the data items in the first place, it is unrealistic to assume the availability of sufficient communications resources between the elements of the distributed computing environment such that the agent of every data item may have complete awareness of the up-to-date state of all other data items. There remains an outstanding need for a continuously refining agent-based arrangement method for data items that may operate on incomplete and potentially outdated information.